{% extends "data_edit.html" %} {% load i18n %} {% block form %} {% autoescape off %} {{form.Name|field_as_td_h}} {{form.Units|field_as_td_h}} {{form.Cycle|field_as_td_h}}
{{form.Name.errors }}{{form.Units.errors }}{{form.Cycle.errors }}
{{form.weekend|field_as_td_h}}
{% trans '时段' %}
{{form.work_day_off|field_as_select2checkbox_no_td_first}} {{form.day_off_type|field_as_dom}}
{{form.work_weekend|field_as_select2checkbox_no_td_first}} {{form.work_type|field_as_dom}}
{{form.auto_shift|field_as_select2checkbox_no_td_first}}
{% for i,k in form.errors.items %} {{i}}{{k}} {% endfor %} {% endautoescape %} {% endblock %} {% block addjs %} $(function(){ funprocessNumRumEdit(); $div=$("form#id_edit_form"); if ($div.find("#id_Name").val()!="")//编辑状态 { fillTimeTable(); } }); var weekend = $("#id_weekend").val(); function before_submit() { var hastt=false $(".chk_date").each(function(){ if($(this).attr("checked")){ hastt=true; return false; } }); if(!hastt){ alert(gettext("选择日期")); return false; } return true } function fillTimeTable() { $div=$("form#id_edit_form"); $.ajax({ url: "/att/shift_detail/", data: {Shift_id:$div.find("input[name='pk']").val()}, dataType:"json", type:"POST", success:function(data){ var shift_details = data["N"]; if(shift_details.length > 0){ funprocessNumRumEdit(); var shift_timetables = data["data"]; var tmp = {}; for(var j in shift_timetables){ var timetable = shift_timetables[j]; var day = parseInt(timetable['StartTime']); if(!(day in tmp)){ tmp[day] = { 'ids': [], 'alias': [] } } tmp[day]['ids'].push(timetable['id']); tmp[day]['alias'].push(timetable['SchName']); } for(var key in tmp){ $('.shift-container .shift-name .chk_date').each(function(){ if($(this).val() == key){ $(this).attr('checked', true); var showing = $(this).parent().parent().find("input[class='timetable']"); if(showing.length == 0){ alert("Please select timetable.") }else{ var display = tmp[key]['alias'].join(','); $(showing).val(display); $(showing).attr('title', display); var ids = tmp[key]['ids'].join(','); var result = ''; $(this).parent().find('.result').append(result); } } }); } } } }) } function funprocessNumRumEdit(){ var fun_change_data=function(cycle,unit){ var weekend = $("#id_weekend").val(); var shift_management = $(".shift_management"); var shift = ""; if(unit==0){//日 var content = '' for(var i=0;i' +'
' +'
' +' ' + gettext("第")+(i+1)+gettext("天") +'
' +'
' +' ' +'
' +'
' +'' } shift = ""+content+""; $("#weekend_div").hide(); }else if(unit==1){//周 if (cycle>52) { alert(gettext('周的周期不能大于52周')); return ; } var dict_date = [ "{% trans '星期日' %}", "{% trans '星期一' %}", "{% trans '星期二' %}", "{% trans '星期三' %}", "{% trans '星期四' %}", "{% trans '星期五' %}", "{% trans '星期六' %}" ]; for(var c=0; c' +'
' +'
' if(weekend.indexOf(String((6+i)%7)) != -1){ content += '' +'' +gettext(dict_date[i]) display = "{% trans '周末' %}"; }else{ content += '' +'' +gettext(dict_date[i]) } content += '' +'
' +'
' +' ' +'
' +'
' +'' } shift += content+""; } $("#weekend_div").show(); }else if(unit==2){//月 if (cycle>12) { alert(gettext('月的周期不能大于12个月')); return ; } var i=0; for(var j=1;j<=cycle;j++){ shift += "" var content = '' for(; i< j*31; i++){ content += '' +'
' +'
' +'
' +' ' + gettext("第")+(i+1)+gettext("天") +'
' +'
' +' ' +'
' +'
' +'
' } //select_date+=""+tmp_cycle+""; shift += content+""; } $("#weekend_div").hide(); } $(shift_management).find('tbody tr').empty().append(shift); $(shift_management).find('.shift-container .shift-name .chk_date').click(function(){ var checked = $(this).attr('checked'); var showing = $(this).parent().parent().find("input[class='timetable']"); var day = $(this).val(); if(checked == 'checked' || checked == true){ var timetables = []; var objs = [] $(".calendar_table tbody input[type='checkbox']:checked").each(function(){ var timetable = $(this).attr('timetable'); timetables.push(timetable); objs.push($(this).val()); }) if(timetables.length == 0){ $(this).attr('checked', false) alert("Please Select Timetable"); }else{ var display = timetables.join(','); $(showing).val(display); $(showing).attr('title', display); if(objs.length > 0){ var ids = objs.join(','); var result = ''; $(this).parent().find('.result').append(result); } } }else{ $(showing).val(''); $(showing).attr('title', ''); $(this).parent().find('.result').empty(); } }); }; var var_cycle=$(".tbl_data_edit #id_Cycle").val();//周期 var var_unit=$(".tbl_data_edit #id_Units").val();//单位 fun_change_data(var_cycle,var_unit); function fillout_timetable(param){ var url = "../../../att/newgetSchClass/"; if(param){ url = url + param; } $.ajax({ type:"POST", url:url, dataType:"json", success:function(sdata){ var html=""; for(var i in sdata){ var data = sdata[i]; var sch_name = data["SchName"]; if(data['DayOff'] == 1){ sch_name = ''+data["SchName"]+''; } if(data['DayOff'] == 2){ sch_name = ''+data["SchName"]+''; } html += '' +'' +' ' +'
' +' ' +'
' +' ' +' ' +'
'+sch_name+'
' +'
'+data["StartTime"]+'-'+data["EndTime"]+'
' +' ' +''; } $(".calendar_table tbody").empty().append(html); }, error:function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus+errorThrown); } }); } $("#id_query_tb").click(function(){ var val = $("#time-table-name").val(); fillout_timetable('?name='+val); }); $("#time-table-name").keydown(function(event){ if(event.keyCode == 13){ $("#id_query_tb").click(); } }); fillout_timetable(); $(".tbl_data_edit").find("#id_Cycle").keyup(function(){ var var_unit=$(".tbl_data_edit #id_Units").val(); fun_change_data($(this).val(),var_unit); }); $(".tbl_data_edit").find("#id_Units").change(function(){ var var_cycle=$(".tbl_data_edit #id_Cycle").val(); fun_change_data(var_cycle,$(this).val()); }); } {% endblock %}